package org.jeecg.modules.coumajor.entity;

import java.io.Serializable;
import java.util.Date;
import java.math.BigDecimal;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.springframework.format.annotation.DateTimeFormat;
import org.jeecgframework.poi.excel.annotation.Excel;
import org.jeecg.common.aspect.annotation.Dict;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import java.io.UnsupportedEncodingException;

/**
 * @Description: cou_major
 * @author: baochangrong
 * @Date:   2022-08-08
 * @Version: V1.0
 */
@Data
@TableName("cou_major")
@ApiModel(value="cou_major对象", description="cou_major")
public class CouMajor implements Serializable {
    private static final long serialVersionUID = 1L;

	/**主键ID*/
	@TableId(type = IdType.ASSIGN_ID)
    @ApiModelProperty(value = "主键ID")
    private String id;
	/**专业编码*/
	@Excel(name = "专业编码", width = 15)
    @ApiModelProperty(value = "专业编码")
    private String majoCode;
	/**专业名称*/
	@Excel(name = "专业名称", width = 15)
    @ApiModelProperty(value = "专业名称")
    private String majoName;
	/**专业简称*/
	@Excel(name = "专业简称", width = 15)
    @ApiModelProperty(value = "专业简称")
    private String majoAbbreviation;
	/**顺序序号*/
	@Excel(name = "顺序序号", width = 15)
    @ApiModelProperty(value = "顺序序号")
    private String orderNum;
	/**父级专业ID*/
	@Excel(name = "父级专业ID", width = 15)
    @ApiModelProperty(value = "父级专业ID")
    private String pid;
	/**是否有子节点*/
	@Excel(name = "是否有子节点", width = 15)
    @ApiModelProperty(value = "是否有子节点")
    private String hasChild;
	/**专业门类，来自字典码majo_ttype，例如：法学门类分为法学类和社会学类等专业大类,*/
	@Excel(name = "专业门类，来自字典码majo_ttype，例如：法学门类分为法学类和社会学类等专业大类,", width = 15)
    @ApiModelProperty(value = "专业门类，来自字典码majo_ttype，例如：法学门类分为法学类和社会学类等专业大类,")
    private String majoTtype;
	/**专业大类(与父类同值)，例如：法学门类分为法学类和社会学类等专业大类*/
	@Excel(name = "专业大类(与父类同值)，例如：法学门类分为法学类和社会学类等专业大类", width = 15)
    @ApiModelProperty(value = "专业大类(与父类同值)，例如：法学门类分为法学类和社会学类等专业大类")
    private String majorCategory;
	/**学位门类：无、哲学、经济学、法学等*/
	@Excel(name = "学位门类：无、哲学、经济学、法学等", width = 15)
    @ApiModelProperty(value = "学位门类：无、哲学、经济学、法学等")
    private String degreeCategory;
	/**学位证等级：(字典码)无、 本科 研究生*/
	@Excel(name = "学位证等级：(字典码)无、 本科 研究生", width = 15, dicCode = "academic_degree_rank")
	@Dict(dicCode = "academic_degree_rank")
    @ApiModelProperty(value = "学位证等级：(字典码)无、 本科 研究生")
    private String academicDegreeRank;
	/**毕业文凭(毕业证)：(字典码)高中、高职、大专、本科、研究生*/
	@Excel(name = "毕业文凭(毕业证)：(字典码)高中、高职、大专、本科、研究生", width = 15, dicCode = "graduate_diploma")
	@Dict(dicCode = "graduate_diploma")
    @ApiModelProperty(value = "毕业文凭(毕业证)：(字典码)高中、高职、大专、本科、研究生")
    private String graduateDiploma;
	/**教育等级：(字典码)，高职、大专 本科 研究生等*/
	@Excel(name = "教育等级：(字典码)，高职、大专 本科 研究生等", width = 15, dicCode = "teaching_rank")
	@Dict(dicCode = "teaching_rank")
    @ApiModelProperty(value = "教育等级：(字典码)，高职、大专 本科 研究生等")
    private String teachingRank;
	/**学制，修业年限*/
	@Excel(name = "学制，修业年限", width = 15)
    @ApiModelProperty(value = "学制，修业年限")
    private String lengthOfSchooling;
	/**状态 1正常 2取消*/
	@Excel(name = "状态 1正常 2取消", width = 15, dicCode = "majo_status")
	@Dict(dicCode = "majo_status")
    @ApiModelProperty(value = "状态 1正常 2取消")
    private Integer majoStatus;
	/**专业描述*/
	@Excel(name = "专业描述", width = 15)
    @ApiModelProperty(value = "专业描述")
    private String majoDescription;
	/**是否启用：1是(启用) 0否(停用)*/
	@Excel(name = "是否启用：1是(启用) 0否(停用)", width = 15)
    @ApiModelProperty(value = "是否启用：1是(启用) 0否(停用)")
    private Integer izOpen;
	/**租户ID*/
	@Excel(name = "租户ID", width = 15)
    @ApiModelProperty(value = "租户ID")
    private String tenantId;
	/**删除状态：1是(已删除) 0否(正常)*/
	@Excel(name = "删除状态：1是(已删除) 0否(正常)", width = 15)
    @ApiModelProperty(value = "删除状态：1是(已删除) 0否(正常)")
    private Integer delFlag;
	/**创建人*/
    @ApiModelProperty(value = "创建人")
    private String createBy;
	/**创建时间*/
	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
    @DateTimeFormat(pattern="yyyy-MM-dd")
    @ApiModelProperty(value = "创建时间")
    private Date createTime;
	/**修改人*/
    @ApiModelProperty(value = "修改人")
    private String updateBy;
	/**修改时间*/
	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
    @DateTimeFormat(pattern="yyyy-MM-dd")
    @ApiModelProperty(value = "修改时间")
    private Date updateTime;
}
